<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>[Chapter 23] 23.6 java.beans.FeatureDescriptor (JDK 1.1)</TITLE>
<META NAME="author" CONTENT="David Flanagan">
<META NAME="date" CONTENT="Thu Jul 31 16:18:28 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="Java">
<META NAME="title" CONTENT="Java in a Nutshell">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Java in a Nutshell" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch23_05.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Chapter 23<br>The java.beans Package</FONT></B></TD>
<td width=172 align=right valign=top><A HREF="ch23_07.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<DIV CLASS=sect1>
<h2 CLASS=sect1><A CLASS="TITLE" NAME="JNUT2-CH-23-SECT-6">23.6 java.beans.FeatureDescriptor (JDK 1.1)</A></h2>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-23-SECT-6.1"></A></h3>
</DIV>

<P CLASS=para>
The <tt CLASS=literal>FeatureDescriptor</tt> class is the base class for
<tt CLASS=literal>MethodDescriptor</tt> and <tt CLASS=literal>PropertyDescriptor</tt>,
as well as
other classes used by the JavaBeans introspection
mechanism.  It provides basic information about a feature
(method, property, event, etc.) of a bean.  Typically, the
methods that begin with <tt CLASS=literal>get</tt> and <tt CLASS=literal>is</tt> are
used by application builders or other tools to query the
features of a bean.  The <tt CLASS=literal>set</tt> methods, on the other
hand, may be used by bean authors to define information about
the bean.

<P CLASS=para>
<tt CLASS=literal>setName()</tt> specifies the locale-independent,
programmatic name of the feature.  <tt CLASS=literal>setDisplayName()</tt>
specifies a localized, human-readable name.
<tt CLASS=literal>setShortDescription()</tt> specifies a short localized
string (about 40 characters) that describes the feature.
Both the short description and the localized name default to
the value of the programmatic name.  <tt CLASS=literal>setExpert()</tt> and
<tt CLASS=literal>setHidden()</tt> allow you to indicate that the feature
is for use only by experts, or for use only by the builder
tool, and should be hidden from users of the builder.
Finally, the <tt CLASS=literal>setValue()</tt> method allows you to
associate an arbitrary named value with the feature.

<DIV CLASS=screen>
<P>
<PRE>
public class <tt CLASS=literal>FeatureDescriptor</tt> extends Object {
    // <tt CLASS=literal>Public Constructor</tt>
            public <tt CLASS=literal>FeatureDescriptor</tt>();
    // <tt CLASS=literal>Public Instance Methods</tt>
            public Enumeration <tt CLASS=literal>attributeNames</tt>();
            public String <tt CLASS=literal>getDisplayName</tt>();
            public String <tt CLASS=literal>getName</tt>();
            public String <tt CLASS=literal>getShortDescription</tt>();
            public Object <tt CLASS=literal>getValue</tt>(String <tt CLASS=literal>attributeName</tt>);
            public boolean <tt CLASS=literal>isExpert</tt>();
            public boolean <tt CLASS=literal>isHidden</tt>();
            public void <tt CLASS=literal>setDisplayName</tt>(String <tt CLASS=literal>displayName</tt>);
            public void <tt CLASS=literal>setExpert</tt>(boolean <tt CLASS=literal>expert</tt>);
            public void <tt CLASS=literal>setHidden</tt>(boolean <tt CLASS=literal>hidden</tt>);
            public void <tt CLASS=literal>setName</tt>(String <tt CLASS=literal>name</tt>);
            public void <tt CLASS=literal>setShortDescription</tt>(String <tt CLASS=literal>text</tt>);
            public void <tt CLASS=literal>setValue</tt>(String <tt CLASS=literal>attributeName</tt>, Object <tt CLASS=literal>value</tt>);
}
</PRE>
</DIV>

</DIV>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-23-SECT-6.2">Extended By:</A></h3>

<P CLASS=para>
BeanDescriptor, 
EventSetDescriptor, 
MethodDescriptor, 
ParameterDescriptor, 
PropertyDescriptor

</DIV>

</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch23_05.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top><A HREF="ch23_07.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
<tr>
<td width=172 align=left valign=top>java.beans.EventSetDescriptor (JDK 1.1)</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>java.beans.IndexedPropertyDescriptor (JDK 1.1)</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</BODY>
</HTML>
